﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using TA.JSON;
using System.ComponentModel;

namespace TA.Turbo.Controls
{
	public abstract class BaseTemplateMapping// : IJsonCompatible
	{
		#region PUBLIC
		#region INIT
		#endregion
		#region EVENTS
		#endregion
		#region PROPS
		public abstract int Weight { get; }
		public string TemplateId { get; set; }
		#endregion
		#region METHODS
		public abstract NodeTemplate GetTemplate(TreeView treeView, int level);
		#endregion
		#endregion
		#region INTERNAL
		#region CONST/STATIC
		#endregion
		#region VARS
		#endregion
		#region PROPS
		#endregion
		//#region JSON
		//[Browsable(false)]
		//public bool IsDirty
		//{
		//  get
		//  {
		//    return true;
		//  }
		//}
		//public void Serialize(JsonWriter jw)
		//{
		//  this.SerializeObject(jw);
		//}
		//public void SerializeContents(JsonWriter jw)
		//{
		//  if (!string.IsNullOrEmpty(this.TemplateId))
		//  {
		//    jw.PropertyName("T");
		//    jw.Value(this.TemplateId);
		//  }
		//}
		//public void Deserialize(IJsonReader jr)
		//{
		//  this.DeserializeObject(jr);
		//}
		//public void DeserializeContent(IJsonReader jr, string propShortName)
		//{
		//  switch (propShortName)
		//  {
		//    case "T": this.TemplateId = (string)jr.Value; break;
		//  }
		//}
		//#endregion
		#region METHODS
		#region INIT
		#endregion
		#region DATA
		#endregion
		#region HANDLERS
		#endregion
		#endregion
		#endregion
	}
}
